/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Controle;


import Model.PedidosModel;
import java.util.ArrayList;

/**
 *
 * @author Diego
 */
public class PedidosCtr {
     private PedidosModel objPedidos;
    
    public PedidosCtr(){
        this. objPedidos = new PedidosModel();
    }
    
    public int Salvar (ArrayList<String> Lista, int controle){
        ClienteCtr Cliente = new ClienteCtr();
        ProdutoCtr Produto = new ProdutoCtr();
        this.objPedidos.setClientePedidos(Cliente.RecuperaCliente(Integer.parseInt(Lista.get(1))));
        this.objPedidos.setProdutosPedidos(Produto.RecuperaProduto(Integer.parseInt(Lista.get(2))));
        if (controle==0){
            this.objPedidos.setProximoCodigo();
        }else{
            PedidosModel Pedidos = new PedidosModel();
            Pedidos.setProximoCodigo();
            this.objPedidos.setCodPedidos(Pedidos.getCodPedidos()-1);                    
        }
        this.objPedidos.Salvar();
        return this.objPedidos.getCodPedidos();
        
    }
    public void Atualizar (ArrayList<String> Lista){
        ClienteCtr Cliente = new ClienteCtr();
        ProdutoCtr Produto = new ProdutoCtr();
        this.objPedidos.setCodPedidos(Integer.parseInt(Lista.get(0)));
        this.objPedidos.setClientePedidos(Cliente.RecuperaCliente(Integer.parseInt(Lista.get(1))));
        this.objPedidos.setProdutosPedidos(Produto.RecuperaProduto(Integer.parseInt(Lista.get(2))));
        //this.objCliente.setCidadeCliente(Cidade.PegaCidade(Lista.get(6)));
        this.objPedidos.Atualizar();
        
    }
    public void VerificarAtualizarouSalvar(){
         this.objPedidos.setProximoCodigo();        
    }
    
    public ArrayList<String> RecuperaObjeto(int iCod){
        this.objPedidos.RecuperaObjeto(iCod);
        return ConverterObjemArray();     
    }
    
    public ArrayList<String> RecuperaObjetoNaveg(int op, int iCod){
        ArrayList<PedidosModel> Pedidos = new ArrayList<PedidosModel>();
        Pedidos = (ArrayList<PedidosModel>) this.objPedidos.RecuperaObjetoNaveg(op, iCod);       
                
        return ConverterObjemArray();     
    }

    public void Excluir(int CodAtual) {
        this.objPedidos.Excluir(CodAtual);
    }

    private ArrayList<String> ConverterObjemArray() {
        ArrayList<String> vetCampos = new ArrayList<String>();
        vetCampos.add(String.valueOf(this.objPedidos.getCodPedidos()));
        vetCampos.add(String.valueOf(this.objPedidos.getClientePedidos().getCodCliente()));
        vetCampos.add(this.objPedidos.getClientePedidos().getNomeCliente());
        vetCampos.add(String.valueOf(this.objPedidos.getProdutosPedidos().getCodProd()));
        vetCampos.add(this.objPedidos.getProdutosPedidos().getNomeProd());
        vetCampos.add(String.valueOf(this.objPedidos.getProdutosPedidos().getValorProd()));
        
        return vetCampos;   
    }
/* 
    public DefaultTableModel PesquisaObjeto(ArrayList<String> Parametros, DefaultTableModel objTabela) {
        String Campo = Parametros.get(0);
        String Valor = Parametros.get(1);
        boolean EmQualquerParte= Parametros.get(2).equals("S");
       /* if (Campo.equals("2")){
            CidadeCtr objCidadeCtr= new CidadeCtr();
            CidadeModel cidade = new CidadeModel();
            cidade = objCidadeCtr.RecuperaCidade(Valor);
            Valor= String.valueOf(cidade.getCodCidade());
        }
        
        ArrayList<PedidosModel> Clientes = this.objPedidos.RecuperaObjetos(Campo, Valor, EmQualquerParte);
        
       Vector<String> vetVetor;
        PedidosModel objClienteBuffer;
        for(int i=0;i<Clientes.size();i++ ){
            vetVetor = new Vector<String>();
            objClienteBuffer = Clientes.get(i);
            
            vetVetor.addElement(String.valueOf(objClienteBuffer.getCodCliente()));
            vetVetor.addElement(objClienteBuffer.getNomeCliente());
            vetVetor.addElement(objClienteBuffer.getCpfCliente());
            vetVetor.addElement(objClienteBuffer.getCidadeCliente().getNomeCidade());
            objTabela.addRow(vetVetor);
        }
        return objTabela;
    }*/

    
}
